-- ElementMagicM
-- Create by weism
-- 技能模块

module("ElementMagicM", package.seeall);

-- 初始化
function init()
    -- 关注刷新属性
    EventMgr.removeAll("ElementMagicM");
    EventMgr.register("ElementMagicM", event.RERESH_PROP, function(para)
        -- 如果刷新的是装备的属性
        local who = para.who;
        if who.type == OBJECT_TYPE_USER and (para.type == "equip" or para.type == "all") then
            refreshElementMagic(para.who);
        end
    end);
end

-- 刷新下元素球魔法
function refreshElementMagic(who)
    elementMagic = {};

    -- 属性
    local props = PropM.fetchProps(who, "element_sphere");
    for _, prop in ipairs(props) do
        elementMagic[tonumber(prop[2])] = tonumber(prop[3]);
    end

    who.element_magic = elementMagic;
end

-- 获取对象的元素魔法
function getAllMagics(who)
    return who.element_magic or {};
end

-- 是否拥有元素魔法
function ownElementMagic(who, id)
    local elementMagic = getAllMagics(who);

    if not elementMagic[id] then
        return false;
    else
        return true;
    end
end
